package ia.robot.app;

/**
 * Clase que representa los parametros de ejecucion de estrategias de busquedas
 * de un robot.
 * 
 * @author Jaime A. Corrales Gonzalez
 * @author Alejandro Tejera Perez
 */
public class Options {

	private boolean debug;
	private int delay;
	private int heuristic;
	private int searchMethod;

	/**
	 * Constructor por defecto.
	 */
	public Options() {
		debug = false;
		delay = 500;
		heuristic = Robot.EUCLIDEAN_DISTANCE;
		searchMethod = Robot.DEPTH_SEARCH;
	}

	/**
	 * Metodo que devuelve el estado del modo depuracion.
	 * 
	 * @return True, si el modo depuracion esta activado. False, en caso
	 *         contrario.
	 */
	public boolean isDebug() {
		return debug;
	}

	/**
	 * Metodo que devuelve el delay en milisegundos entre iteraciones.
	 * 
	 * @return Delay (en milisegundos).
	 */
	public int getDelay() {
		return delay;
	}

	public int getHeuristic() {
		return heuristic;
	}

	public int getSearchMethod() {
		return searchMethod;
	}

	public void setDebug(boolean debug) {
		this.debug = debug;
	}

	public void setDelay(int delay) {
		this.delay = delay;
	}

	public void setHeuristic(int heuristic) {
		this.heuristic = heuristic;
	}

	public void setSearchMethod(int searchMethod) {
		this.searchMethod = searchMethod;
	}

}
